package cn.rwklyd.BookKeeping.service;

import cn.rwklyd.BookKeeping.pojo.Budget;
import cn.rwklyd.BookKeeping.pojo.Result;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface BudgetService extends IService<Budget> {
    /**
     * 添加预算
     * 需要判断该用户的预算表中是否已经存在该年月的预算表，不存在才给与创建，除非status=0
     */
    Result<String> addBudget(Budget budget);

    /**
     * 删除预算（逻辑删除，status=0）
     */
    Result<String> deleteBudget(Long id);

    /**
     * 更新预算
     * 需要判断该用户的预算表中是否已经存在该年月的预算表，不存在才给与创建，除非status=0
     */
    Result<String> updateBudget(Budget budget);

    /**
     * 根据ID获取预算
     */
    Result<Budget> getBudgetById(Long id);

    /**
     * 根据年月查询预算
     * @param year 年份
     * @param month 月份
     * @return 预算列表
     */
    Result<List<Budget>> getBudgetsByYearMonth(Integer year, Integer month);
} 